package com.ybkj.daijia.server.service;

import com.ybkj.daijia.page.Page;
import com.ybkj.daijia.server.model.DriverLevel;
import java.util.List;

/**
 * @author Shine
 */
public interface DriverLevelService {

    /**
     * @param companyid
     * @param name
     * @return name为null则查询出所有的信息，否则只查询出与name匹配的信息
     */
    public Page<DriverLevel> queryAll(Long companyid, String name);

    /**
     * 保存司机提成信息
     *
     * @param area
     * @return
     */
    public DriverLevel insertRecord(DriverLevel driverLevel);

    /**
     * 保存司机提成信息
     *
     * @param area
     * @return
     */
    public DriverLevel insertMoneyRecord(DriverLevel driverLevel);

    /**
     * 根据主键更新提成信息
     *
     * @param driverLevel
     * @return
     */
    public DriverLevel updateByPrimaryKey(DriverLevel driverLevel);

    /**
     * 根据主键更新提成信息
     *
     * @param driverLevel
     * @return
     */
    public DriverLevel updateMoneyRecord(DriverLevel driverLevel);

    /**
     * 根据主键查询司机提成信息
     *
     * @param id
     * @return
     */
    public DriverLevel findOne(Long id);

    /**
     * 根据主键删除司机提成信息
     *
     * @param driverLevel
     */
    public void delete(DriverLevel driverLevel);

    /**
     * 查询自身所有司机提成信息
     *
     * @return
     */
    public List<DriverLevel> listMyAll();

    public List<DriverLevel> listByCompany(Long companyId);

    /**
     * 查询所有司机提成信息
     *
     * @return
     */
    public List<DriverLevel> listAll();

    /**
     * 根据提成级别删除提成详情
     *
     * @param driverLevelId
     */
    public void deleteByDriverLevel(Long driverLevelId);


}
